package com.demo2do.fms.admin.service.supplier;

import java.util.List;

import com.demo2do.fms.admin.entity.security.Login;
import com.demo2do.fms.admin.service.DataService;
import com.demo2do.fms.entity.supplier.trans.TrailerType;
import com.demo2do.fms.entity.supplier.trans.TransSupplierVehicleStat;
import com.demo2do.fms.entity.supplier.trans.VehicleType;

/**
 * 
 * @author Wy
 *
 */
public interface TransSupplierVehicleStatService extends DataService<TransSupplierVehicleStat>{
    
   /**
    * 
    * @param supplierId
    * @return
    */
    public List<TransSupplierVehicleStat> listTransSupplierVehicleStat(Long supplierId );
    
    /**
     * 根据类型 及 挂车类型获取供方下运力资源列表
     * 
     * @param supplierId
     * @param vehicleType
     * @param trailerType
     * @return
     */
    public List<TransSupplierVehicleStat> listTransSupplierVehicleStat(Long supplierId, VehicleType vehicleType, TrailerType trailerType);
    
    /**
     * get stat by supplier、VehicleType and trailerType
     * 
     * @param supplierId
     * @param vehicleType
     * @param trailerType
     * @return
     */
    public TransSupplierVehicleStat getTransSupplierVehicleStat(Long supplierId, VehicleType vehicleType, TrailerType trailerType);

    /**
     * 
     * @param supplierId
     * @param amounts
     */
    public void create(Long supplierId ,List<Long> amounts );
    
    /**
     * 
     * @param supplierId
     * @param stat
     * @param login
     */
    public void createTrailer(Long supplierId, TransSupplierVehicleStat stat, Login login);
    
    /**
     * 
     * @param transSupplierVehicleStatId
     * @param amounts
     */
    public void edit(List<Long> transSupplierVehicleStatId, List<Long> amounts);
    
    /**
     * @param stat
     * @param login
     */
    public void edit(TransSupplierVehicleStat stat, Login login);
    
    /**
     * 
     * @param supplierId
     * @param trailerTypes
     * @param amounts
     */
    public void create(Long supplierId ,List<TrailerType> trailerTypes , List<Long> amounts );

}
